package com.xique.door.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xique.door.bean.domain.BuildArea;
import com.xique.door.bean.domain.BuildAreaV1;
import com.xique.door.bean.search.build.AreaListSearch;

import java.util.List;

/**
 * 区域Service接口
 *
 * @author shd
 * @date 2021-09-09
 */
public interface IBuildAreaService extends IService<BuildAreaV1>
{
    /**
     * 查询区域
     *
     * @param id 区域ID
     * @return 区域
     */
    public BuildArea selectBuildAreaById(Long id);

    /**
     * 查询区域列表
     *
     * @param buildArea 区域
     * @return 区域集合
     */
    public List<BuildArea> selectBuildAreaList(BuildArea buildArea);

    /**
     * 新增区域
     *
     * @param buildArea 区域
     * @return 结果
     */
    public int insertBuildArea(BuildArea buildArea);

    /**
     * 修改区域
     *
     * @param buildArea 区域
     * @return 结果
     */
    public int updateBuildArea(BuildArea buildArea);

    /**
     * 批量删除区域
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteBuildAreaByIds(String ids);

    /**
     * 删除区域信息
     *
     * @param id 区域ID
     * @return 结果
     */
    public int deleteBuildAreaById(Long id);

    /**
     * 根据添加查询区域分页数据
     * @author shd
     * @date 2022/3/29 11:56
     * @param search
     * @return com.baomidou.mybatisplus.core.metadata.IPage<com.xique.door.bean.domain.BuildAreaV1>
     */
    IPage<BuildAreaV1> selectAreaPageV1(AreaListSearch search);

    /**
     * 根据添加查询区域列表
     * @author shd
     * @date 2022/3/29 11:56
     * @param search
     * @return java.util.List<com.xique.door.bean.domain.BuildAreaV1>
     */
    List<BuildAreaV1> selectAreaListV1(AreaListSearch search);

    /**
     * 根据区域名称查找区域
     * @author shd
     * @param buildAreaV1
     * @return BuildAreaV1
     */
    BuildAreaV1 selectAreaV1(BuildAreaV1 buildAreaV1);

    String getCode(Long parkId);
}
